← Back to issue list

Snapcraft not handling cmake nested builds, not including build script files in snap, and dependency issues with meson builds

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1766101
Type
issue
State
open
Author
~anoncoward8348
Labels
Created
2018-04-22 16:34:05.021863+00:00
Updated
2018-05-16 03:28:08.324929+00:00
Closed

Current evaluation

No evaluation has been recorded for this issue yet.

Issue body

snapcraft, version 2.41+18.4.2 I am trying to build my first snap from a Github project, jangernert/FeedReader. There is no Debian/Ubuntu package available and the Flatpak is broken. feedreader is a cmake-based project, with meson recently added on a testing branch. Snapcraft needs to download and build the latest valac in the snap because what comes on most distros is woefully out of date, including the Snapcraft build machine. Getting and building valac works fine with autotools. But I have run into three issues trying different approaches: Issue 1. I can’t simply let the cmake plugin in Snapcraft handle everything because it breaks down when encountering nested cmake files in the WebExtension submodule of the FeedReader project: [ 11%] Built target gtkimageview [ 11%] Linking C static library librss-glib.a [ 11%] Building C object libVilistextum/CMakeFiles/vilistextum.dir/unicode_entities.c.o [ 11%] Building C object libVilistextum/CMakeFiles/vilistextum.dir/util.c.o [ 11%] Built target i18n [ 11%] Building C object libIvy/CMakeFiles/ivy.dir/Stacktrace.c.o [ 12%] Building C object libVilistextum/CMakeFiles/vilistextum.dir/vilistextum.c.o [ 12%] Built target rss-glib [ 12%] Linking C static library libvilistextum.a [ 12%] Built target vilistextum [ 12%] Linking C static library libgd.a [ 12%] Built target gd [ 13%] Linking C static library libivy.a [ 13%] Built target ivy [ 14%] Linking C shared library libwebextension.so [ 14%] Built target webextension Makefile:140: recipe for target 'all' failed make: *** [all] Error 2 Failed to run 'make -j8' for 'feedreader': Exited with code 2. Verify that the part is using the correct parameters and try again. Issue 2. So I tried using the "build-override" scripting option in the cmake plugin to call cmake, make, and make install myself and that appears to build without the issue above. But none of the built libraries and binaries come over into staging or prime, even though I specify they should with snap:, which is what I described here. Other parts, specifically the latest valac built by the autotools plugin, do come over, just them in fact. So when you try to run this snap, it gives me a "feedreader" not found error because there are no feedreader files, just spiffy new valac files. https://github.com/sirredbeard/FeedReader/blob/master/snap/snapcraft.yaml Issue 3. FeedReader also has upstream meson build features, so I pulled those in and tried using snapcraft’s meson plugin for a yaml here. But it fails with gcc, glibc, and zlib issues: /snap/feedreader/x1/usr/bin/feedreader: /lib/x86_64-linux-gnu/libgcc_s.so.1: version `GCC_7.0.0' not found (required by /snap/feedreader/x1/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37) /snap/feedreader/x1/usr/bin/feedreader: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /snap/feedreader/x1/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37) /snap/feedreader/x1/usr/bin/feedreader: /lib/x86_64-linux-gnu/libz.so.1: version `ZLIB_1.2.9' not found (required by /snap/feedreader/x1/usr/lib/x86_64-linux-gnu/libpng16.so.16) /snap/feedreader/x1/usr/bin/feedreader: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /snap/feedreader/x1/usr/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.0.so.18) https://github.com/sirredbeard/FeedReader/blob/master/snap/snapcraft-meson-version.yaml

Evaluation history

No evaluation history available.